'\" te
.\" Copyright (C) 1998-2003, Carnegie Mellon Univeristy.  All Rights Reserved.
.\" Portions Copyright (C) 2003, Sun Microsystems,
.\" Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SASL_LISTMECH 3SASL "Oct 14, 2003"
.SH NAME
sasl_listmech \- retrieve a list of the supported SASL mechanisms
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lsasl\fR   [ \fIlibrary\fR ... ]
#include <sasl/sasl.h>

\fBint\fR \fBsasl_listmech\fR(\fBsasl_conn_t *\fR\fIconn\fR, \fBconst char *\fR\fIuser\fR, \fBconst char *\fR\fIprefix\fR,
     \fBconst char *\fR\fIsep\fR, \fBconst char *\fR\fIsuffix\fR, \fBconst char **\fR\fIresult\fR,
     \fBunsigned *\fR\fIplen\fR,\fBint *\fR\fIpcount\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBsasl_listmech()\fR interface returns a string listing the SASL names of
all the mechanisms available to the specified user. This call is typically
given to the client through a capability command or initial server response.
Client applications need this list so that they know what mechanisms the server
supports.
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIconn\fR\fR
.ad
.RS 10n
The SASL context for this connection user restricts the mechanism list to those
mechanisms available to the user. This parameter is optional.
.RE

.sp
.ne 2
.na
\fB\fIuser\fR\fR
.ad
.RS 10n
Restricts security mechanisms to those available to that user. The value of
\fIuser\fR may be \fINULL\fR, and it is not used if called by the client
application.
.RE

.sp
.ne 2
.na
\fB\fIprefix\fR\fR
.ad
.RS 10n
Appended to the beginning of \fIresult\fR.
.RE

.sp
.ne 2
.na
\fB\fIsep\fR\fR
.ad
.RS 10n
Appended between mechanisms.
.RE

.sp
.ne 2
.na
\fB\fIsuffix\fR\fR
.ad
.RS 10n
Appended to the end of \fIresult\fR.
.RE

.sp
.ne 2
.na
\fB\fIresult\fR\fR
.ad
.RS 10n
A null-terminated result string. \fIresult\fR must be allocated or freed by the
library.
.RE

.sp
.ne 2
.na
\fB\fIplen\fR\fR
.ad
.RS 10n
The length of the result filled in by the library. The value of \fIplen\fR may
be \fINULL\fR.
.RE

.sp
.ne 2
.na
\fB\fIpcount\fR\fR
.ad
.RS 10n
The number of mechanisms available. The value of \fIpcount\fR is filled in by
the library. The value of \fIpcount\fR may be \fINULL\fR
.RE

.SH RETURN VALUES
.sp
.LP
\fBsasl_listmech()\fR returns an integer that corresponds to a SASL error code.
.SH ERRORS
.sp
.ne 2
.na
\fB\fBSASL_OK\fR\fR
.ad
.RS 11n
The call to \fBsasl_listmech()\fR was successful.
.RE

.sp
.LP
See \fBsasl_errors\fR(3SASL) for information on SASL error codes.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Evolving
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR sasl_errors (3SASL),
.BR attributes (7)
